XML-based barcode scanner

ABSTRACT

A method and system for scanning bar code data that can be published in near real time on Internet or intranet sites. The format is preferably XML-based, so the data is ready for e-commerce applications without further manipulation or conversion. The data can also be translated to more traditional bar code formats for backward compatibility with established barcode scanning practices.

[0001] This is a continuation of U.S. patent application Ser. No.09/677,157, filed Oct. 2, 2000, which is hereby incorporated byreference in its entirety.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to the field of data collection foruse in logistics, manufacturing, health care, warehouses, education, orany other business that uses bar codes.

[0003] Existing bar code scanning involves discrete stages of datacollection and data manipulation before publication. Even afterpublication, however, the data is generally not in a format that iseasily published on the Internet or used by e-commerce applications.

[0004] Therefore, it would be desirable to convert bar code data intodata that is easily published on the Internet or used by e-commerceapplications.

SUMMARY OF THE INVENTION

[0005] It is an object of the invention to convert bar code data intodata that is easily published on the Internet or used by e-commerceapplications.

[0006] Methods and systems for converting a bar code into a markuplanguage document, the method including scanning a bar code to generatebar code data and preparing the markup language document using the barcode data are provided.

BRIEF DESCRIPTION OF DRAWINGS

[0007] The above and other objects and advantages of the invention willbe apparent upon consideration of the following detailed description,taken in conjunction with the accompanying drawings, in which likereference characters refer to like parts throughout:

[0008]FIG. 1 is a flow chart of a preferred method according to thepresent invention.

[0009]FIG. 2 is a flow chart of the operation of a conventional bar codescanner.

[0010]FIG. 3 is a block diagram showing an embodiment of a systemaccording to the invention.

[0011]FIG. 4 is a block diagram of a flow chart according to theinvention.

[0012]FIG. 5 is a block diagram showing document storage according tothe invention.

DETAILED DESCRIPTION OF THE INVENTION

[0013] A general description of bar code scanning and its relation tosystems and methods according to the invention follows. One dimensionalbar code scanning involves scanning the pattern of wide and narrow bars,looking up the “code” in a database, and then using the results in anapplication. Two-dimensional bar code scanning involves scanning thesquare or rectangular patters that encode data in two dimensions thenusing the results in an application.

[0014] Each bar code feature requires a data type to define its extentand also a set of feature descriptors called attributes. Attributesmight be of nearly any data type such as text, numeric, or binary. Theattributes provide the basis for interpreting the features. Theapplications for a barcode database are as diverse as health caremanagement to inventory control.

[0015] One-dimensional bar codes provide data that is limited to a smallnumber of alphanumeric characters. There are several industry standardsand conventions for converting the bar code into data to choose from,depending on the application. Encoding information about the bar codeditem is typically the responsibility of the database designer.

[0016] For two-dimensional barcodes, more data is available forscanning. However, publishing the data on the Internet in a globallystandard format presents a difficult problem. The receiving applicationhas to be able to interpret the 2D-scanned data and then present it tothe user.

[0017] The present invention preferably allows the data collector tocollect the data in XML-format, as will be explained below. (For thepurposes of this application, Extensible Markup Language (XML) isreferred to because it is the preferred language. However, it should beunderstood that any other suitable markup language may also be used, andthis application is not limited specifically to the use of XML language.The W3C Recommendation of 10.Feb.1998 Extensible Markup Language (XML)1.0 is hereby incorporated by reference herein in its entirety.) Thisdata collection scheme allows the data to be published on the Internet,or other suitable network, in an Internet-business related formatvirtually seconds after the data is collected.

[0018] In an embodiment of data collection according to the invention,upon the completion of the entry of attribute data, the features may beuploaded with a wireless link, or other suitable communications link, toan Internet server for immediate publication on a Web site. Data can bestreamed to the Internet server if desired—i.e., data can be viewed onthe Internet rather than waiting for the end of data collection.

[0019] The style of presentation of the data is preferably up to the Webapplication manager since the XML format separates the display of an XMLdocument from its content. The features can be published as spreadsheetdata, interactive business forms or perhaps as charts that could triggerautomatic re-order of inventory. Because of the XML format, the end userof the data—e.g., the viewer of the website—is also not constrained bythe display choices of the web application manager. An end user with alarge monitor may choose a graphic display while a viewer with a smallscreen on a cell phone may be simultaneously viewing the same site astext.

[0020] Three applications of how the present invention may be usedfollow:

EXAMPLE 1 Hospital Management

[0021] A hospital manages patient information, patient care, hospitalequipment and supplies, and patient insurance communication.

[0022] In a method of managing information according to the invention,when patients are admitted to the hospital, they are assigned anXML-tagged bar code containing information about their medical history,hospital care needed, and insurance. This information may then berelayed to the insurance company and regular updates are relayed, asneeded.

[0023] In one embodiment of the invention, medical claims personnel atthe insurance company can use the Internet to view and process thepatient information. During the hospital stay, information about themedications and hospital procedures are added to the patient's recordsby scanning the XML-tagged bar codes and sending the information to thehospital's computer. Periodically, the hospital computer may contact thedrug suppliers for additional inventory or equipment servicing (likecalibration).

EXAMPLE 2 Inventory Management

[0024] A computer and peripheral manufacturing company endeavors todeliver assembled products more quickly and efficiently. One obstacle tothe quick and efficient delivery of assembled products is the fact thatmany of their products can be customized. These customized productsoften require different parts. It would be beneficial to accuratelypredict the delivery schedule of the different parts and to be able toquickly detect any supplier problems.

[0025] The different suppliers may scan the XML-tagged bar codes ontheir computer parts when they leave the assembly line and theinformation about inventories, availability, technical specifications,etc., may be immediately available on the company website. The computermanufacturer may have its computers regularly query the supplierdatabases preferably using XML Linking Language (XLink) (as noted above,any suitable linking language may be used for this purpose). The queriescould be for standard configurations, large orders of unusualconfigurations, and any other ordering scenario. The computermanufacturer's computers could then use the results to order thenecessary supplies, direct the shipment to its factory, then pass on theinformation to the accounting and order processing departments, again,using XLink.

EXAMPLE 3 Information Distribution

[0026] Typically, a national rental car company monitors their vehicleinventory and all the information related to each individual vehicle.Generally, different departments within the rental car company obtainselected portions of this information and present it in a way that iseffective for their department.

[0027] In one embodiment of a method according to the invention, a2-dimensional XML-tagged bar code may preferably be created for eachcar, containing technical specifications, a digital image, rentalhistory, service history or other relevant information. Becauseinformation and presentation rules are separate for XML, the users canmanipulate information locally by importing it into their applicationsfrom the web browser. Other software applications can then directlyaccess the information.

[0028] In addition to the methods described in the preceding examples,one further aspect of the present invention is directed to a method ofcollecting the feature data in XML format. This aspect includesassembling information about the feature name and type, and the relatedattribute information. A user interface for accomplishing this task isalso preferably provided. Other aspects of the present invention aredirected to a method for uploading the feature data to a server and forpublication of the data.

[0029] The present invention also is directed to the fact that bar codefeatures can be collected in XML format. In the description below,‘features’ are referred to as ‘parent elements’ for consistency with XMLspecification usage.

[0030]FIG. 1 is a block diagram of a preferred embodiment of a methodaccording to the present invention. In this embodiment, there is a DataCollection Module 15 and a subsequent Data Publishing Module 25. Acomputer 30, or other suitable device, is used to create, or import, adata collection definition (DTD) or Schema 20. A DTD is a program forguiding collection of element and attribute data that is guided by theDTD and substantially invisibly merging bar code data as attributes orchild elements of the parent element being captured. The result of themerge is an XML document that has already been validated against theDTD.

[0031] Then, parent elements (with child elements or attributes) arerecorded in XML format. The XML documents are transmitted via a wired orwireless link 40 to an XML element storage system. This system maypreferably be on a web server 50. The XML documents are available forimmediate publication on the web 60 or for later re-use 70.

[0032] The data collection task may be separated in both time and spacefrom the data-publishing task. In this embodiment the two are linked viaa wireless connection that reduces the time and distance between thetasks. It should be understood that other methods of communicationbetween the modules might be used as well. These other methods may bevia a hard-wired modem connection or via a serial cable and the like.

[0033] A preferred embodiment of this invention is to acquire bar codedata from a bar code scanner. FIG. 2 is a flow chart of the operation ofa conventional bar code scanner. Bar codes 12 can be of various types,depending on the application of the data they encode. Some industryrecognized bar code types are:

[0034] Numeric-Only

[0035] EAN-13

[0036] EAN-8

[0037] UPC-A

[0038] UPC-E

[0039] Code 11

[0040] Interleaved 2 of 5

[0041] Industrial 2 of 5

[0042] Standard 2 of 5

[0043] Codabar

[0044] Plessey

[0045] MSI

[0046] PostNet

[0047] Alphanumeric

[0048] Code 39

[0049] Code 93

[0050] Code 128

[0051] LOGMARS

[0052] 2-Dimensional

[0053] PDF417

[0054] DataMatrix

[0055] Maxicode

[0056] QR Code

[0057] Data Code

[0058] Code 49

[0059] 16K

[0060] The bar code scanner 13 can be of any model or manufacture thatoutputs bar code data 14 according to industry standards. The scanneddata is transmitted to the computer via a wired or wireless link 16.

[0061] For both one- and two-dimensional bar codes, the supported datatypes are: bytes, ASCII characters, and numeric digits. PDF417 datatypes also include graphics and sound.

[0062]FIG. 3 provides details of the programs available on a system 32according to the invention.

[0063] A user interface 31 manages the user interaction for a number oftasks. A program is provided for the creation of the DTD or Schema 21,the collection of data 22, and the export of the resultant documents 24.

[0064] The DTD lays out the rules for how to create or read an XMLdocument. A preferred version of the DTD is the XML Schema and is alsosuitable for this embodiment.

[0065] The DTD describes data elements. These elements can contain awide variety of attributes and/or child elements in accordance with theXML specification. System 12 includes a software program that providesthe user with a simple way to create DTD's that conform to thecomplicated XML specification. The DTD can be considered as a statementof the data capture objectives. An example of a DTD for the collectionof child element data for a parent element is provided below.

[0066] <!ELEMENT Features (Feature Name, VIN, Color, Make, Model, Year,Registered-Owner)>

[0067] <!ELEMENT Feature-Name (#PCDATA)>

[0068] <!ELEMENT VIN (#PCDATA)>

[0069] <!ELEMENT Color (#PCDATA)>

[0070] <!ELEMENT Make (#PCDATA)>

[0071] <!ELEMENT Model (#PCDATA)>

[0072] <!ELEMENT Registered Owner (#PCDATA)>

[0073] The present invention allows the user to specify a number ofoptions in the creation of a DTD. For example, a more sophisticatedversion of the same DTD would appear with descriptions of the type ofentry that is available for each element.

[0074] <!ELEMENT Features (FeatureName, VIN, VINLabel, Color, Make,MakeLabel, Model, ModelLabel, Year, Registeredowner,RegisteredOwnerLabel)>

[0075] <!ELEMENT FeatureName (#PCDATA)>

[0076] <IATTLIST FeatureName e-dtype NMTOKEN #FIXED ‘string’>

[0077] <!ELEMENT VIN (#PCDATA)>

[0078] <!ATTLIST VIN e-dtype NMTOKEN #FIXED ‘string’>

[0079] <!ELEMENT VINLabel (#PCDATA)>

[0080] <!ATTLIST VINLabel e-dtype NMTOKEN #FIXED ‘string’>

[0081] <!ELEMENT Color (#PCDATA)>

[0082] <IATTLIST Color e-dtype NMTOKEN #FIXED ‘string’>

[0083] <!ELEMENT Make (#PCDATA)>

[0084] <!ATTLIST Make e-dtype NMTOKEN #FIXED ‘string’>

[0085] <!ELEMENT MakeLabel (#PCDATA)>

[0086] <!ATTLIST MakeLabel e-dtype NMTOKEN #FIXED ‘string’>

[0087] <!ELEMENT Model (#PCDATA)>

[0088] <IATTLIST Model e-dtype NMTOKEN #FIXED ‘string’>

[0089] <!ELEMENT ModelLabel (#PCDATA)>

[0090] <IATTLIST ModelLabel e-dtype NMTOKEN #FIXED ‘string’>

[0091] <!ELEMENT Year (#PCDATA)>

[0092] <!ATTLIST Year e-dtype NMTOKEN #FIXED ‘string’>

[0093] <!ELEMENT RegisteredOwner (#PCDATA)>

[0094] <!ATTLIST RegisteredOwner e-dtype NMTOKEN #FIXED ‘string’>

[0095] <!ELEMENT RegisteredOwnerLabel (#PCDATA)>

[0096] <IATTLIST RegisteredownerLabel e-dtype NMTOKEN #FIXED ‘string’>

[0097] When the bar code data is mixed with the attribute information orchild elements observed by the data collector, the result is an XMLdocument. Since the program user interface is guided by the DTD, theuser is not allowed to collect information that will produce an XMLdocument that is not valid when compared to the DTD. An example of anXML document that has merged both bar code data and attribute dataexpressed as child elements is shown below.

[0098] <?xml version=“1.0”?>

[0099] <!DOCTYPE Features SYSTEM “C:\features.dtd”>

[0100] <Features><!--(Feature Name, VIN, VIN Label, Color, Make, MakeLabel, Model, Model Label, Year, Registered Owner, Registered OwnerLabel)-->

[0101] <Feature Name>Automobile</Feature Name>

[0102] <VIN>1122334455</VIN>

[0103] <VIN Label>VIN</VIN>

[0104] <Color>red</Color>

[0105] <Make>Honda</Make>

[0106] <Make Label>Make</Make Label>

[0107] <Model>Accord</Model>

[0108] <Model Label>Model</Model Label>

[0109] <Year>2000</Year>

[0110] <Registered Owner>Jane Doe</Registered Owner>

[0111] <Registered Owner Label>Registered

[0112] Owner</Registered Owner Label>

[0113] </Features>

[0114] An alternative embodiment of this invention would be to collectthe bar code data in a separate file and to reference that file fromwithin the XML document.

[0115] The result of the Data Collection Module shown in FIG. 1, whichpreferably incorporates DTD 21, Data Collection Program 22 and bar codedata 14 shown in FIG. 2, is a finished XML document. The XML document isalready validated against the DTD or Schema via a validation program onthe computer 23. The validation serves as an error check that data thatthe document that is to be delivered to the web server is in the properformat and will not cause problems later.

[0116] A final program is a utility 71 for converting XML documents toother database formats such as Microsoft Access 71.

[0117] At this point, the XML document is ready for web publication or,alternatively, to be archived. A program is provided on the computer 24to manage the export of XML and DTD (or Schema) documents. The collecteddata is exported via a port in the computer 26.

[0118]FIG. 4 is a flow chart which describes the link (corresponding toelement 40 in FIG. 1) between the field data collection module and thedata publishing module. The export port in the scanner exports the XMLdocument 42. A wireless link 40 provides a convenient method of sendingthe document to the XML or DTD Document Storage archive 50. For largedata collection projects, the XML document can be streamed to the webserver. The present invention can accommodate any method of linking thedocument to the web server archive.

[0119]FIG. 5 describes a method of document storage and publicationaccording to the invention. Thus, FIG. 5 shows the data publicationmodule 25 of FIG. 1, greater detail. The XML or DTD document is storedon the web server as a recallable set of elements 51. The XML documentcan be dynamically presented to the web or archived in a suitabledocument database. It should be noted that it is the document elementsand the corresponding DTD or Schema that is being archived, nottraditional database tables and records. The document can be efficientlystored in parts (elements) because the DTD or Schema provides the guidefor reassembly.

[0120] Commercial components for the archival and retrieval of XMLdocuments are readily available and function similar to the InsoDynabase Web Manager. The Inso Corporation is headquartered in Boston,Mass. The Dynabase Web Manager is an XML-based content management,automated production and personalized information delivery solution forconstructing advanced business-to-business and business-to-consumerapplications.

[0121] This embodiment allows the end viewer of the data to provide acustom style sheet that allows unique display or download of XMLelements depending on the viewer's personal preference 61. The formatand syntax for Cascading Style Sheets (CSS) is defined in User Interfacefor CSS3 W3C Working Draft 16 Feb 2000 of the World Wide Web Consortium(see http://www.w3.org/TR/2000/WD-css3-userint-20000216.html) which ishereby incorporated by reference herein in its entirety. For ExtensibleStylesheet Language (XSL) see http://www.w3.org/TRJ2000/WD-xsl20000327which is hereby incorporated by reference herein in its entirety.

[0122] The present invention is compatible with traditional databaseprograms because the DTD and XML documents contain all of theinformation needed to recreate the data in whichever format is desired.The invention provides a program with a user interface that guides theuser through the process of converting the DTD and XML documents toother standard database formats such as Microsoft Access 70.

[0123] Thus, systems and methods relating to scanning a bar code toprovide bar code data, and converting Persons skilled in the art willappreciate that the present invention can be practiced by other than thedescribed embodiments, which are presented for purposes of illustrationrather than of limitation, and the present invention is limited only bythe claims which follow.

What is claimed is:
 1. A method for tracking a vehicle inventory, themethod comprising: providing each vehicle with a two-dimensional markuplanguage-tagged bar code, the bar code including vehicle information;scanning the bar code to generate bar code data; preparing a markuplanguage document using the bar code data; and creating an XML schema toguide collecting of element data and attribute data for use in themarkup language document.
 2. The method of claim 1 further comprisingconverting the bar code into an XML document.
 3. The method of claim 1further comprising including element data and attribute data in thedocument.
 4. The method of claim 1 further comprising creating adocument type definition program to restrict collecting of element dataand attribute data to collecting valid element data and valid attributedata.
 5. The method of claim 1 further comprising importing a documenttype definition program to guide collecting element data and attributedata.
 6. A system for tracking a vehicle inventory, the systemcomprising: means for providing each vehicle with a two-dimensionalmarkup language-tagged bar code, the bar code including vehicleinformation; means for scanning the bar code to generate bar code data;means for preparing a markup language document using the bar code data;and means for creating an XML schema to guide collecting of element dataand attribute data for use in the markup language document.
 7. Thesystem of claim 6 further comprising means for converting the bar codeinto an XML document.
 8. The system of claim 6 further comprising meansfor including element data and attribute data in the document.
 9. Thesystem of claim 6 further comprising means for creating a document typedefinition program to restrict collecting of element data and attributedata to collecting valid element data and valid attribute data.
 10. Thesystem of claim 6 further comprising means for importing a document typedefinition program to guide collecting element data and attribute data.